Objective-C Runtime
概要
Objective-C は、コンパイル時及びリンク時ではなく、実行時まで解決を遅延することが多くある。従って、Objective-C で書かれたコードの実行のためには、コンパイラ のみでなく、コンパイルされたコードを実行するための専用の ランタイムシステム が必要となる。このようなランタイムシステムは、ちょうど Objective-C 言語のための OS のように動作する。このランタイムシステムが Objective-C Runtime となる。 Objective-C 言語の動的プロパティのサポートや、Objective-C アプリからのリンクをサポートするランタイムライブラリ
/usr/lib/libobjc.A.dylib で定義されている共有ライブラリの関数や実装をサポートしている
Objective-C で直接プログラミングしている場合には大抵必要ない
Objective-C と他の言語をブリッジしたい場合や、ローレベルなデバッギングがしたい場合に役立つ
macOS でのランタイムライブラリは固有の実装で、他の GNU Compiler Collection などのプラットフォームでは似たような API を提供しているものの、別の実装になっている
Dynamic Objective-C を読むと色々得られそうだが、投資するべきか....